export interface AliveDialog {
  name: string
  id: number
  // 用于展示到任务栏的图标
  icon: string
  // 未最大化情况下的 窗口宽度
  width: number
  // 未最大化情况下的 窗口高度
  height: number
  // 是否存活/销毁
  alive: boolean
  // 窗口的状态
  status: string
  statusHistory: string
  minScreen: boolean
  // style.zindex
  zindex: number
  left: number
  top: number
  route: string
}
export interface aliveBarType {
  icon: string
  route: string
  name: string
}
export interface MessageConfig {
  type?: string
  closeable?: boolean
  message: string
  always?: boolean
  duration?: number
}
export interface Message {
  id: number
  type?: string
  closeable?: boolean
  message: string
  always?: boolean
  alive: boolean
  duration?: number
}
export interface AliveBar {
  name: string
  // 激活的bar唯一标识
  id?: number
  // 路由path
  route: string
  // 用于展示到任务栏的图标
  icon: string
  // 未最大化情况下的 窗口宽度
  width?: number
  // 未最大化情况下的 窗口高度
  height?: number
  // 未最大化情况下的 窗口左定位
  left?: number
  // 未最大化情况下的 窗口右定位
  top?: number
  // 是否存活/销毁
  alive?: boolean
  // 窗口的状态 MAXSREEN最大化 NORMAL窗口化 SMALLSREEN 最小化
  status?: string
  // 保存最小化之前的窗口状态（最大/最小化）
  statusHistory?: string
  // style.zindex
  zindex?: number
  toSmall: () => void
  toBig: () => void
  toNormal: () => void
  close: () => void
}
export interface State {
  // 当前记录焦点显示的弹框id
  currentId: number
  // 用于创建弹框的递增id
  currentIdIndex: number
  // 用于记录弹框zindex层级
  currentZindex: number
  // 弹框默认大小
  defaultWidth: number
  // 弹框默认大小
  defaultHeight: number
  // 是否最小化过，最小化过任务栏要取消焦点显示，即用户的焦点清空
  isToSmall: boolean
  // 记录已经点开并且存活的导航
  aliveBarList: Array<AliveBar>
  // 当前网页的宽度
  viewportWidth: number
  // 当前网页的高度
  viewportHeight: number
  messageList: Array<Message>
  noticeShow: Boolean
}
